#107b.1

#exercicio do galileu
#galileu

#altura inicial
init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
#distancia percorrida
h.d = c(253, 337, 395, 451, 495, 534, 573)
#so dando uma olhada nos dados
plot(h.d~init.h)
#fazendo um modelo linear simples
mod1 <- lm(h.d~init.h)
#ajustando a equacao da parabola a um segundo modelo:
mod2 <- update(mod1,.~. +I(init.h^2))
#agora, faremos um ANOVA para comparar os dois modelos:
anova(mod1,mod2)
#o modelo da parabola e superior!!!
mod3 <- update(mod2, .~. +I(init.h^2)+I(init.h^3))
anova(mod2,mod3)
summary(mod3)
###

#Como pdoemos ver pelo resultado do ANOVA entre os modelos m2 e m3, 
#o modelo com polinmios de terceiro grau(m3)  um melhor modelo 
#para explicar os dados, pois apesar de ter mais parmetros, explica os dados 
#melhor os dados que o modelo m2, que por sua vez explica melhor os dados 
#que o modelo linear (m1)

#-------

#107b.2

#lendo os dados
babies<-read.table("babies.txt", header=TRUE, as.is=TRUE, sep=",")
#Ajustando os dados
babies<-subset(babies,babies$gestation!=999)
babies<-subset(babies,babies$age!=99)
babies<-subset(babies,babies$height!=99)
babies<-subset(babies,babies$weight!=999)
babies<-subset(babies,babies$smoke!=9)
#criacao de modelos:
#comparamos as correlacoes entre as variaveis, para ir indicando os melhores candidatos para entrar no nosso modelo (minimizando ao maximo o problema de autocorrelacao entre os dados)
#criando os modelos de regresso:
m1<-lm(bwt~gestation, data=babies)
m2<-lm(bwt~gestation+parity, data=babies)
m3<-lm(bwt~gestation+parity+age, data=babies)
m4<-lm(bwt~gestation+parity+height, data=babies)
m5<-lm(bwt~gestation+parity+height, data=babies)
m6<-lm(bwt~gestation+parity+height+smoke, data=babies)
m7<-lm(bwt~gestation+parity+height+smoke+gestation:parity, data=babies)
m8<-lm(bwt~gestation+parity+height+smoke+gestation:smoke, data=babies)
#comparando os modelos:
anova(m1,m2)
#m2 e melhor! apesar de ter mais um grau de liberdade, explica muito melhor os dados
anova(m2,m3)
#m2 e melhor! acredito que o uso de um grau de liberdade a mais nao compensa o pouco ganho explicativo que o modelo tem
anova(m2,m4)
#m4 e melhor! apesar de ter mais um grau de liberdade, explica muito melhor os dados
anova(m4,m5)
#m4 e melhor! acredito que o uso de um grau de liberdade a mais nao compensa o pouco ganho explicativo que o modelo tem
anova(m4,m6)
#m6 e melhor! apesar de ter mais um grau de liberdade, explica muito melhor os dados
anova(m6,m7)
#m6 e melhor! acredito que o uso de dois graus de liberdade a mais nao compensa o pouco ganho explicativo que o modelo tem
anova(m6,m8)
#m6 e melhor! acredito que o uso de dois graus de liberdade a mais nao compensa o pouco ganho explicativo que o modelo tem

#o melhor modelo  o m6 (que leva em consideracao o periodo de gestacao, se a mae ja pariu antes, se a mae fuma e a altura da mae), pois e o que apresneta o melhor balanco 
#entre nume de graus de liberdade e quantidade de dados explicados pelo modelo


